Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.05.2012, 20:50
Интересующийся
Отправить личное сообщение для korolariya Посмотреть профиль Найти все сообщения от korolariya
 
Регистрация: 24.05.2012
Сообщений: 10

req.open помогите разобраться
У меня такая беда=)
req.open('GET', 'index.php?option=com_cmok&task=hello&format=row&p roduct_name='+encodeURIComponent(product_name)+'&p roduct_sku='+encodeURIComponent(product_sku)+'&pro duct_s_desc='+encodeURIComponent(product_s_desc)+' &product_desc='+encodeURIComponent(product_desc)+' &product_publish='+product_publish+'&product_price ='+encodeURIComponent(product_price)+'&pid='+pid, true);

Как мне передавать всё это только методом POST а то если много текста пишет Request-URI Too Large

Или я ошибаюсь и тут даже пост не поможет?
Замена слова гет на пост ничего не дала=)
Ответить с цитированием
  #2 (permalink)  
Старый 24.05.2012, 22:12
Аватар для Раед
''
Отправить личное сообщение для Раед Посмотреть профиль Найти все сообщения от Раед
 
Регистрация: 11.12.2011
Сообщений: 636

req.open('POST', 'index.php', true); 
//...код
//вместо send()
send('option=com_cmok&task=hello&format=row&p roduct_name='+encodeURIComponent(product_name)+'&p roduct_sku='+encodeURIComponent(product_sku)+'&pro duct_s_desc='+encodeURIComponent(product_s_desc)+' &product_desc='+encodeURIComponent(product_desc)+' &product_publish='+product_publish+'&product_price ='+encodeURIComponent(product_price)+'&pid='+pid);
Ответить с цитированием
  #3 (permalink)  
Старый 24.05.2012, 23:27
Интересующийся
Отправить личное сообщение для korolariya Посмотреть профиль Найти все сообщения от korolariya
 
Регистрация: 24.05.2012
Сообщений: 10

Раед,
Сделал походу работает только оно мне в див в который должно было написать что то типо всё ок весь сайт выкинуло, но я походу понял в чём проблема пока смеялся и набирал тут ответ=)
Ответить с цитированием
  #4 (permalink)  
Старый 24.05.2012, 23:29
Интересующийся
Отправить личное сообщение для korolariya Посмотреть профиль Найти все сообщения от korolariya
 
Регистрация: 24.05.2012
Сообщений: 10

Раед,
Спатибо у меня рядом с сендом было написано // отослать запрос
без вас никогда бы не нашёл =)
Ответить с цитированием
  #5 (permalink)  
Старый 25.05.2012, 12:15
Интересующийся
Отправить личное сообщение для korolariya Посмотреть профиль Найти все сообщения от korolariya
 
Регистрация: 24.05.2012
Сообщений: 10

Не все проблемы мои закончились на этом=)
Но выход я нашёл, теперь чисто в образовательных целях поясните мне разницу=)
Вот этот скрипт шлёт POST

var ajax=null;

// без изменений
function getAjax(){
if (window.ActiveXObject) // для IE
return new ActiveXObject("Microsoft.XMLHTTP");
else if (window.XMLHttpRequest)
return new XMLHttpRequest();
else {
alert("Browser does not support AJAX.");
return null;
}
}

function savedata(pid){
ajax=getAjax();
var param;

var product_name = document.getElementById('product_name'+pid).value;
var product_sku = document.getElementById('product_sku'+pid).value;
var product_s_desc = document.getElementById('product_s_desc'+pid).valu e;
var product_desc = document.getElementById('product_desc'+pid).value;
var product_publish = document.getElementById('product_publish'+pid).val ue;
var product_price = document.getElementById('product_price'+pid).value ;

if (ajax != null) {
// метод POST, указываем просто имя файла
ajax.open("POST","index.php?option=com_cmok&task=s ave&format=row",true);

// если параметров несколько, то они разделяются &
param="&product_name="+encodeURIComponent(product_ name)+"&product_sku="+encodeURIComponent(product_s ku)+"&product_s_desc="+encodeURIComponent(product_ s_desc)+"&product_desc="+encodeURIComponent(produc t_desc)+"&product_publish="+product_publish+"&prod uct_price="+encodeURIComponent(product_price)+"&pi d="+pid;
// добавляем стандартный заголовок http
// посылаемый через ajax
ajax.setRequestHeader("Content-type",
"application/x-www-form-urlencoded");
// вроде эти могут тормозить
ajax.setRequestHeader("Content-length", param.length);
ajax.setRequestHeader("Connection", "close");
ajax.onreadystatechange = function(){
if(ajax.readyState==4 && ajax.status==200)
document.getElementById('save'+pid).innerHTML=ajax .responseText;
}
// посылаем наши данные или пустую строку (param="")
// главное не null
ajax.send(param);
}
}
//---------------------------------------------------------------
А вот этот почему то не хочет если вписать в send(param), зато get шлёт нормально

function getXmlHttp(){
var xmlhttp;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}


// javascript-код голосования из примера
function ajaxfunction(x) {
// (1) создать объект для запроса к серверу
var req = getXmlHttp()

// (2)
// span рядом с кнопкой
// в нем будем отображать ход выполнения
var statusElem = document.getElementById('status');


req.onreadystatechange = function() {
// onreadystatechange активируется при получении ответа сервера

if (req.readyState == 4) {
// если запрос закончил выполняться

// statusElem.innerHTML = req.statusText // показать статус (Not Found, ОК..)

if(req.status == 200) {
// если статус 200 (ОК) - выдать ответ пользователю
var newElement = document.createElement('div')
newElement.innerHTML = req.responseText
statusElem.appendChild(newElement)
}
// тут можно добавить else с обработкой ошибок запроса
}

}

// (3) задать адрес подключения
req.open('GET', 'index.php?option=com_cmok&task=hello&format=row&m enu='+x, true);

// объект запроса подготовлен: указан адрес и создана функция onreadystatechange
// для обработки ответа сервера

// (4)
req.send(null); // отослать запрос

// (5)
statusElem.innerHTML = ''
}
//=================================================
Поясните пожалуйста кто может
Ответить с цитированием
  #6 (permalink)  
Старый 25.05.2012, 12:36
Аватар для Раед
''
Отправить личное сообщение для Раед Посмотреть профиль Найти все сообщения от Раед
 
Регистрация: 11.12.2011
Сообщений: 636

Сообщение от korolariya
req.open('GET', 'index.php?option=com_cmok&task=hello&format=row&m enu='+x, true);
Что такое х

P.S. http://javascript.ru/formatting.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться с Bubbling HawkOFF Элементы интерфейса 10 09.08.2011 22:43
Помогите пожалуйста девушке разобраться Feni4ka jQuery 10 26.04.2011 19:25
Помогите пожалуйста разобраться Kupu4 Ваши сайты и скрипты 0 21.01.2010 10:44
Помогите разобраться с галереей IMAGIN yana_studio Общие вопросы Javascript 4 12.12.2009 17:24
Помогите разобраться с задачей (поиск строки) Absinthe Ваши сайты и скрипты 6 07.12.2009 09:17